1. Field of the Invention
The present invention relates to a system and process for creating computer systems with intelligent agent capability. In particular, the present invention relates to a system and process for applying intelligent agent technology to human-computer interaction tasks in a computer system.
2. Background and Related Art
Intelligent agents in computer systems help the system user perform system tasks with increased accuracy. User interface intelligent agents assist the system user in performing user interface tasks. These agents attempt to enhance the human computer interface by intelligently interacting with the user in the performance of a specific task.
Intelligent agents can be classified according to their levels of “intelligence” and “agency.” The characteristics of a particular agent can be described using a two dimensional graph as shown in FIG. 1. “Intelligence” measures the level of inference applied by the agent. Highly inferential agents apply artificial intelligence (AI) principles to exhibit adaptable behavior, reasoning, learning and non-algorithmic problem solving. “Agency” measures the degree of autonomy an agent exhibits. As agency increases the agent becomes more autonomous and authoritative; the agent can perform more of the tasks without specific user direction.
The most common user interface agents are commonly called “wizards.” Wizards assist the user in performing a task by breaking down the task into a linear series of steps that are presented to the user one at a time. Ideally, each step can be completed by the person and the selected sequence of steps guarantees success. Wizards replace a standard graphical user interface that offers a multitude of possible behaviors with a more restricted view that presents each step of a task in order. Wizards exhibit very little “intelligence” because they do not apply any AI techniques to the task. Instead, wizards are used to direct the user in the performance of a specific task. A wizard “knows” a specific task and can direct performance of that task according to the known algorithm for that task. Wizards are autonomous because they carry out much of a task for the user. A well-designed wizard autonomously completes the steps of the task that do not require the user's attention.
“Guides” are another kind of user interface agent. Guides monitor a user's interaction with the information system and present information appropriate to the particular user and information system state. A guide can annotate the user interface to communicate how to perform the next step and to draw the user's attention to where the next step will occur. Guides apply artificial reasoning to note those areas of the interface where annotation would be useful. The annotation can be adaptively altered to respond to the user's level of experience. Guides provide procedural direction to the user, but they have less autonomy than wizards. Guides annotate existing interfaces helping the user to learn the interface and help the user in learning the use of the raw interface. Wizards, in contrast, replace existing interfaces with a new interface tailored to accomplish the specific task.
The coverage of a particular set of agents and guides can be shown graphically. FIG. 1 at 102 illustrates the characteristics of wizards: low on inference and high on autonomy. Guides are characterized at 104 with high intelligence and low autonomy. Other categories of user interface agents can exist in different sectors with different levels of agency and intelligence.
The application of guides and wizards to information system tasks has historically been made based on the designers' opinions of their usefulness. Thus, a wizard may be provided for a task because a designer believes such assignment to be helpful to the user. There is no objective means to decide the best type of agent to assign, e.g., whether to assign a wizard, a guide, or no agent. Intelligent user interface agents are costly to develop and consume system resources when used. Inappropriate application of intelligent agents wastes both development and execution resources. In addition, inappropriate application may hinder rather than enhance the user interface by getting in the way of task performance where the user knows how to perform the task or by providing insufficient direction to complete the task successfully.
Thus, the technical problem exists of determining the optimal assignment of intelligent agents to human-computer interaction tasks so that tasks provided with agents need them and the appropriate class of agent is assigned to those tasks.